home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
The World of Computer Software.iso
/
wwcp120.zip
/
WWCP.DOC
< prev
next >
Wrap
Text File
|
1992-05-06
|
38KB
|
839 lines
Documentation for Waffle to WWIV Copy (WWCP)
Copyright 1992 by Anthony W. Hursh
*****************THE WWSTAT FORMAT HAS BEEN CHANGED*************************
Many new features have been added to this version, and the format of
the WWSTAT file HAS BEEN CHANGED. You MUST edit your WWSTAT file. See
CHANGES.DOC for an overview.
LIMITED WARRANTY
THIS SOFTWARE IS PROVIDED "AS-IS", WITHOUT WARRANTY OF ANY KIND.
THERE ARE NO EXPRESS OR IMPLIED WARRANTIES. THERE ARE NO WARRANTIES OF
OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
THE COPYRIGHT HOLDER SHALL NOT IN ANY CASE BE LIABLE FOR SPECIAL,
INCIDENTAL, CONSEQUENTIAL, INDIRECT OR OTHER SIMILAR DAMAGES ARISING FROM
THE USE OF, OR THE INABILITY TO USE, THE SOFTWARE, EVEN IF THE COPYRIGHT
HOLDER OR HIS AGENT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
OBLIGATORY BEGGING MESSAGE
WWCP is a shareware program. If you wish to continue using it
after a trial period of two weeks (beginning from the time you make your
first connect to the WWIVnet), you are required to register your copy.
Consider this: WWCP took many hours to write and debug. I could've
spent less time writing a kludge, but I don't work that way. I feel the
extra time spent on making WWCP transparent to the users and easy for the
system operator to install and maintain was well worth it. I've made an
investment of around $1800 worth of my time. If I don't get my investment
back (or at least a significant portion of it), I cannot continue to support
the software, but must instead devote my time to more financially rewarding
(and boring) projects (save me from writing COBOL! Please, please,
pleeeeeeeeeeease! :-) To get full value for my time I need at least 72
registered sites. Registration also gives you many other important benefits.
See WWREG.DOC for information. Also see PRODUCTS.DOC for information on
my other shareware programs.
WHAT IS WWCP?
The WWCP package allows you to exchange email between the
WWIVnet and your Waffle BBS. WWIV netsubs can also be carrried as
newsgroups on your Waffle system and vice-versa. The interface is totally
invisible to the user. No kludges (such as manually adding special address
lines to email or posts) are necessary. All routing is fully automatic.
WHY WWCP?
There are many interesting netsubs (newsgroups, in Usenetspeak) on
WWIVnet, and WWIV is a very popular system. There are more than a thousand
sites on WWIVnet, and hundreds of thousands of users. Clearly, there is a
niche for gateway software.
WHAT YOU NEED TO RUN WWCP
There are a few extras you need to set up WWCP that aren't
included in the distribution package. You need:
1. An external file transfer protocol program. This
program should handle Xmodem, Ymodem, or Zmodem, with
Zmodem much preferred. The only real requirement is that
the program exit with status zero for a successful transfer
and non-zero for an unsuccessful one. Just about every
protocol program in common use fits this description.
If yours doesn't you can probably kludge it up with a
batch file and judicious use of the IF ERRORLEVEL
construct.
You can also use the new HS/LINK bidirectional transfer
protocol. If your modem runs at the same speed in both
directions (full duplex), HS/LINK is a win. If you have
a modem that transfers more slowly in one direction than
the other (e.g., USR modems using USR's proprietary HST
protocol), HS/LINK won't gain you much. Most commonn
modems (other than the USR) will benefit from HS/LINK
and the USR Dual Standard modems will benefit as well,
if they're run in V.32 mode.
2. A FOSSIL driver (OPUS!COMM was used for testing. The
Waffle docs recommend BNU. There are other ones around,
too.)
3. The Waffle BBS software (obviously).
You also need the following hardware:
1. An IBM compatible PC capable of running Waffle (again,
obviously).
2. A reasonable modem. "Reasonable" means that the modem
understands Hayes commands, such as ATZ to reinitialize,
ATD to dial, <pause>+++<pause>ATH to hang up, etc.
The modem should also hang up when DTR is dropped.
If your modem doesn't fit these criteria, see the Waffle
documentation for suggestions (throwing it off a tall
building and buying another one is the preferred technique).
CREDITS
Many thanks to my fearless team of beta testers:
Fred J. Polsky (WWIVnet: 1@502 WWIVnet, Internet: asfjp@acad2.alaska.edu)
Roy M. Silvernail (WWIVnet: 1@503, Internet: cybrspc!roy@cs.umn.edu)
Bryan Lockwood (WWIVnet: 1@501, Internet: system@coldbox.uucp Real Soon Now)
All three made many valuable suggestions and uncovered many potential
problems. This madness would never have happened without them.
Thanks are also due to:
Dan LeVaugh (WWIVnet: 1@9702)
for helping me through the process of getting WWCP recognized by WWIVnet
and for volunteering to be the WWCP nodes coordinator.
Wayne Bell (WWIVnet: 1@1)
for writing WWIV and allowing WWCP sites to connect to the net.
Thomas E. Dell (Internet: dell@vox.darkside.com)
for writing Waffle in such a fashion that gateway software could
easily be integrated. Well done, Mr. Dell.
SETTING UP A WWIVNET CONNECT
1. First of all, you *need* a WWIVnet connect. Find a WWIV sysop in your
area who's willing to let you have a feed. If you can't find one
locally, check the net listings (available by typing //NET on any
WWIVnet board) for someone fairly close. Contact that person and ask
for a feed. If he's unwilling/unable to do it, try someone else.
2. Now you need a node number on the WWIVnet. Call any WWIVnet board
and send email to 1@9702. He is the WWCP coordinator, and will assign
you a node number. Be patient. All WWIVnet coordinators are volunteers,
and may take a while to get back to you. Never forget that WWIVnet is
largely run by volunteers (just like Usenet). Common courtesy is *always*
in order. Tell 1@9702 the node number of the WWIVnet board you will
be connecting to. You should read the accompanying file RULES.DOC for an
overview of WWIVnet policies and regulations.
3. Tell your connect to set up his networking files to *not* use WWIVnet
compression when connecting with you (WWIVnet uses a proprietary
compression library licensed from PKware, unfortunately. This version
of WWCP has hooks to allow use of Gregg Beasey's DECOMP program. As
soon as I receive my registered version of DECOMP, I will test it out
and make the proper information available. However, compression is
not yet supported, due to the fact that the shareware version of Gregg's
program has a 75 kilobyte limit on packet size. For now, though, there
is no direct support for compressed packets. Also, specify a password
that your system will use when calling the connect. This can be 1-15
characters. WWCP does not support the automated password exchange feature
of WWIV at the present time, hence you must arrange your password in
advance.
INSTALLING WWCP
Fear not. If you've managed to survive installing Waffle, installing
WWCP will be a snap. :-) If you have problems, refer to the TROUBLE.DOC
included in the WWCP distribution package.
1. Install the FOSSIL driver. Read the documentation for your particular
driver to see how to set it up.
2. Put all the .EXE and .BAT files (wwcico.exe, wwrmail.exe, wwsmail.exe,
wwshell.bat and wwpoll.bat) in your waffle/bin directory.
3. Put the WWSTAT and WWSEQ files in your waffle/system directory. These are
analogous to the Waffle STATIC and SEQF files, respectively.
4. Edit the WWSTAT file to conform to your system. The lines must be in
the following order:
<name of your system>
The same as the "node" line in your system/static file.
<used for From: line on news. %s is replaced with WWIVnet address.>
<used for From: line on mail. %s is replaced with WWIVnet address>
<origin, used in Message-ID: header>
These lines let you specify the From: line format for gated messages,
in a fashion analogous to the netnews and netmail parameters in the
Waffle static file. You can set a separate From: line for news and
mail, if you wish, or use the same for both. By default, both lines
are set to %s@wwiv in WWSTAT. This can be changed to anything you
want...... the person's WWIVnet address is substituted for the %s.
If you need an actual % in the address, use %%. Thus, the default
settings produce From: lines similar to:
From: 23-9702@wwiv
If you want to generate From: lines of the form:
From: foobox!wwiv!23-9702@moskvax.cis.gov
You'd use:
foobox!wwiv!%s@moskvax.cis.gov
in the WWSTAT file.
If you have an actual domain site set up for wwiv, and want all
WWIVnet posts to appear to come from wwiv.yoyodyne.com, you'd use:
%s@wwiv.yoyodyne.com
in the WWSTAT file. If you're doing it this way, you'll also have to
add the line:
wwiv.yoyodyne.com * /spool/wwiv/mail
to your waffle/system/paths file.
There's also an origin line in the WWSTAT file. This is used to
generate the Message-ID: header. These headers are in the form
(number)wwcp(node)@(origin), where (number) is an unsigned long,
(node) is your WWIVnet node number and origin is as set in your
WWSTAT file. This should be the domain name for your site
(foobox.hardknox.edu, bittybox.yoyodyne.com, etc.). If you don't
have one, use the domain .UUCP (foobox.UUCP, bittybox.UUCP, etc.).
If you're going to be sending WWIVnet posts and email to the Usenet
directly from your system, you need to set all of these. If your
system doesn't get a Usenet newsfeed *through Usenet*, leave them
alone.
<your WWIVnet node number>
<your connect's WWIVnet node number>
<initialize FOSSIL>
Use 1 if you want the FOSSIL initialized before calling. Normally
this will be 1, but may need to be set to 0 for certain setups.
<port number>
This is the *FOSSIL* port number, which is normally 0 for COM1:, 1
for COM2:, etc.
<phone number>
This is the phone number for your connect. This should be the
*complete* dialing sequence for your modem, including any AT
commands. You can also put other commands in this line,
such as ATM0 to turn the speaker off, etc.
<password>
This is the password you've arranged with your connect.
<speed>
This is the speed to set the serial port to. If you use 0, the
port speed will be left as is. Supported speeds are 300, 600,
1200, 2400, 4800, 9600, 19200, and 38400 bps.
<use HS/LINK>
If you're using the HS/LINK protocol, set this to 1. Otherwise,
leave it alone. HSLINK.EXE must be in your PATH, and you must
set your DSZLOG environment variable if you're going to use
HS/LINK. See the HS/LINK documentation for more information.
<send protocol>
This is the command line to send data *to* your connect. The
file you need to send has a name of S<theirnumber>.NET. For
example, if you're connecting with 9702, you need to send the
file S9702.net.
<receive protocol>
The command line to receive data *from* your connect. The file
to receive has the name S<yournumber>.NET. If you are node 599,
you need to receive S599.NET. If you're using HS/LINK, anything
you put in this line is ignored, but make sure there *is*
a line.
<use compression>
Set this line to 1 to use WWIVnet compression, when that feature
becomes available (soon!). Until then, leave it 0.
<spool dir>
Your spool\wwiv\ directory (see below). The drive letter *must*
be included, and the directory name should end with a \ character.
Any line beginning with a # character is treated as a comment,
and processing resumes with the next line.
5. Make a subdirectory called wwiv in your spool directory. This is used to
handle outgoing news for WWIVnet.
6. Make a subdirectory called mail in the wwiv spool directory. This is used
to store outgoing mail for WWIVnet.
7. Make a subdirectory called packets, also in the wwiv spool directory. This
is used to create and process net packets (analogous to batched news)
for WWIVnet.
8. Add the line
wwiv /batch=wwiv wwiv.*
to your waffle/system/feeds file.
9. Add the line:
wwiv * /spool/wwiv/mail
to your waffle/system/paths file. If you've set up a domain address for
wwiv in your WWSTAT file, use that here too. For instance, if you've set
up wwiv as wwiv.yoyodyne.com, put in:
wwiv.yoyodyne.com * /spool/wwiv/mail
If you haven't configured the From: lines in your WWSTAT file, or if
you've used a bang path address there (foobox!wwiv!%s@some.site.com)
then just use the:
wwiv * /spool/wwiv/mail
line.
10. If you're going to be carrying WWIVnet netsubs (newsgroups) then load up
your system/static file. Add wwiv to the forums line. For instance,
if your forums line now reads:
forums : local usenet
Then you'd change it to:
forums : local usenet wwiv
See "Subscribing to WWIV Netsubs", below, for more information.
11. Set up your waffle/system/schedule file to run wwpoll periodically.
How often you want to do this is entirely up to you, and will depend
on the traffic volume, hours to get cheap phone rates, etc. You
can also run wwpoll manually if you wish. If you're using DOS 3.2
or below, you'll need to add the line:
RUN
to the end of wwpoll.bat.
12. (optional) If your WWIVnet connect is going to be calling you, you need
to arrange an account for that system. Add the line:
IF ERRORLEVEL == 70 GOTO WW
to your waffle/bin/run.bat file (in the section with the other similar
statements. Remember to keep the IF ERROLEVEL statements in reverse
numeric order), and at the bottom of run.bat (right before :END) add
the lines:
:WW
CALL WWSHELL
GOTO TOP
If you're running DOS 3.2 or earlier, you'll have to use:
:WW
WWSHELL
and put the line:
RUN
at the end of the WWSHELL.BAT file. Now, go into admin and add a new
account for the WWIV board. Set it up just like a uucp connect
(access -2, etc.) but on the admin x screen set the shell to #exit 70
instead of the normal #exit 40 that you'd use for uucp. You can use other
numbers besides 70 for the IF ERRORLEVEL and #exit, of course. 70 is just
an example. Any number will work as long as it is the same in both places,
and as long as it isn't already used for something else. Your WWIVnet
connect will need to use a macro to dial in to your Waffle board and log
on. The details of this macro will vary, depending on how you have your
Waffle opening screens set up. If your Waffle login prompts are stock,
the following macro should work.
DEBUG ""
TIMEOUT "30"
BAUD "<baud rate to call at>"
DIAL "<phone number of waffle board>"
FAILURE "BUSY"
WAITFOR "EW:"
SEND "<wwiv board's login name>{"
WAITFOR "word:"
SEND "<wwiv board's password>{"
Just replace the information in angle brackets with the appropriate
information for your setup. The quote characters are required, as are
the { characters after the login name and password. (The { causes
the WWIV system to send a carriage return). If the WWIV sysop is
running a high-speed modem, the following macro may work better.
DEBUG ""
TIMEOUT "30"
BAUD "<baud rate to call at>"
DIAL "<phone number of Waffle board>"
FAILURE "BUSY"
SEND "<wwiv board's login name>{"
WAITFOR "word:"
SEND "<wwiv board's password>{"
Thanks to Delerium Tremens #1@9704 for this tip. Apparently certain
protocol negotiations can cause the modem to lose the first few
characters. If you have trouble, ask the WWIV sysop to check
WWIVNET.DOC for more information on macros. If you still can't
figure it out, email me at 1@500 WWIVnet (1-500@wwiv from a system
running WWCP) and I will help. I will need the phone number of your
Waffle BBS and the baud rate the WWIV board will use to call. I will
also an exact representation of your login: and Password: prompts. If
you are having the WWIV board dial in, you must run wwsmail to batch up
the messages before sending them. Running it at the start of wwshell
works, but wastes precious telephone time, and can cause the WWIV system
to time out if there is a lot of data to batch. I suggest putting wwsmail
at the top of your run.bat file so it runs before every call. wwsmail is
fairly speedy when there isn't a whole lot of data to process and
shouldn't slow down the board reset to any noticeable degree.
You're set! Your first order of business should be to log in as root or
system and send email to the sysop of your WWIV connect. That will get you
registered in the WWCP nameserver database as account #1 on your node. This
is VERY IMPORTANT, because some WWIVnet informational messages get sent to
the #1 account rather than to individual names. Also, subscribing to netsubs
generally requires sending mail from the #1 account.
SENDING MAIL TO THE WWIVNET FROM A DIRECTLY CONNECTED WAFFLE
WWIVnet addresses are of the form <usernumber>@<nodenumber>. To
send mail to someone on WWIVnet, simply send it to
<usernumber>-<nodenumber>@wwiv. For instance, to send mail to my WWIVnet
account on Someplace Else BBS, 23@9702, you'd send mail to 23-9702@wwiv.
That's all there is to it. All sysops on WWIVnet have an account number of
1. To send email to the sysop of node 9704, you'd send to 1-9704@wwiv. Of
course, your site must have a direct connection to WWIVnet for this to work,
or know the path to one which does (see below). It is to be hoped that WWIV
will eventually be a registered domain.
You can also send mail to people on WWIVnet by name. However, since
WWIVnet usernames can be several words you must replace any spaces in the
user name with an underscore character (Waffle won't allow sending mail
to multiword usernames). Thus, to send mail to Dark Mistress of Pain on
node 9999, you'd send to:
dark_mistress_of_pain-9999@wwiv
Case is not important, as WWIVnet mashes everything to upper case anyway.
SENDING MAIL TO THE WWIVNET FROM NEIGHBORING WAFFLE SITES
To support automated routing of mail to the WWIVnet, your
downstream neighbors must have an entry in their system/paths file. For
instance, if your machine is called foobox, your immediate neighbor
(kremvax, say) should put the line:
wwiv foobox!wwiv!%s
in his system/paths file. If kremvax feeds another site, moskvax, then
moskvax would use the line:
wwiv kremvax!foobox!%s
in his system/paths file, and so on. The neighbor does *not* need a copy
of WWCP for this to work. If your neighbor *is* running WWCP, though,
he won't need to do this, since his system will already know a path to
wwiv.
If you've configured your From: lines to generate a valid
address in WWSTAT, any site on the Usenet should be able to send mail to
WWIVnet, without any special path entries. However, your near neighbors
may still wish to use an entry in system/paths to expedite mail.
SENDING MAIL TO WAFFLE/USENET FROM WWIV
There are two ways to do this.
1. If the Waffle address is user@site, a WWIV user can send email to
<user>#<site>@<nodenum> where nodenum is the node number of your Waffle
system. Just substitute a # for the @ in the Internet address. If your
Waffle system has been assigned node number 19762, and your Waffle system
was named foobar, a WWIV person could contact root on your system by sending
mail to root#foobar@19762 from the main prompt on the WWIV board. This
technique will work whether or not someone on the Waffle side has ever
sent anything to the WWIVnet. WWIV users are not limited to sending
mail to the directly connected Waffle site. They can send mail to any
site that your Waffle knows how to reach. If your Waffle is connected to
the real Internet, a WWIV user could send mail to joeblow@gnu.ai.mit.edu
by sending to joeblow#gnu.ai.mit.edu@19762. Sending mail to
boris%foobox@kremvax.cis.gov would be done by sending to
boris%foobox#kremvax.cis.gov@19762.
2. WWIVnet also uses an alternate address form. The one specified above
is <username>@<node number>. The alternate form is
<user number>@<node number>. This presents problems, since people on the
Waffle side don't *have* WWIV user numbers. The problem can't be ignored
because WWIV automatically uses the <number>@<node> form for all
replies (whether replying to a post or to email). For this reason, every
time someone on the Waffle side posts a message or sends email to the
WWIV side, a database is scanned for his or her name. If it isn't found,
the Waffle address is added to the database and a unique WWIV user number
is assigned for that person. Humans don't need to know what this is because
it's only used by the WWCP routing software. This database may prove useful
for other purposes. See the technical information section at the end of this
document.
SUBSCRIBING TO WWIVNET NETSUBS
WWIV netsubs are very much like Usenet newsgroups. However, to
receive a netsub you must be added to the subscriber list by the host of
the netsub. In that respect, it's more like a Usenet mailing list. WWIV
netsubs can be hosted by any system on the WWIVnet, including WWCP
sites. The whole system is rather anarchic (somewhat reminiscent of
the Usenet alt.* hierarchy) as far as the creation of new netsubs goes.
There's nothing to prevent a WWIV system from starting a netsub on a
particular topic, even if one (or even several) already exists.
However, posting rules for a netsub are controlled by the sub host.
That means that the rules range from absolute anarchy (no rules) to
complete totalitarianism. The rationale behind this is that if you're
not satisfied with the way the host runs the sub, you're free to start
your own on the same topic. If enough other people feel the way you
do, your sub will succeed and the original one will die.
To subscribe, you need to find out who hosts the sub. If there's a
sub carried by your connect (or some other WWIV BBS you call) that you'd
like to subscribe to, ask who the sub host is, send that person
email and ask him to put you on the list. He will need to know your
WWIVnet node number. If you are feeding netsubs to other Waffle/Usenet
sites, you should tell the sub host that (some hosts don't want their
subs gatewayed to other networks). There is also a listing of all available
netsubs sent out periodically. This list should appear in the mailbox for
your postmaster account from time to time. It's sent in several parts.
You can also download a copy from most WWIVnet boards, to use until your
own copy starts coming in.
Bear in mind that unless the netsub is being hosted by a local BBS,
*someone* is going to have to pay for a long distance call. If your WWIV
feed is doing it, you should offer to help with the phone bill. If it's
someone else, you should find out who's doing the LD calling and offer
to help that person.
Now, you need to set up a couple of things on your system to
receive the sub. In your waffle/system directory, create a file called WWIV.
This works just like the LOCAL and USENET files (remember, you have to add
wwiv to the forums line in your waffle/system/static file for this to work).
Instead of being identified by names (like Usenet newsgroups) WWIV
netsubs are identified by numbers. This number is called the subtype.
The newsgroup name for your waffle system should be wwiv.<subtype>. Use
the following waffle/system/wwiv file as a template for making your own.
You may want to alias the wwiv.<subtype> name to something more
indicative of the sub, as shown here. For instance, History and Moral
Philosophy, subtype 19702, newsgroup wwiv.19702, is dedicated to discussion
of the works of Robert A. Heinlein and the ideas presented therein. To
keep people from having to remember the newsgroup name, it's been aliased
to "heinlein". Typing "heinlein" at the main Waffle prompt will take you
to the newsgroup.
# sample WWIV definition file
# You need to change the below line to match your system.
DEFAULT /dir="C:\WWIVGATE"
DEFAULT /type=USENET /keep=100 /post=6
wwiv.19714 /name="[Alaska Shareware Authors %N]" /alias=shareware /sig=sig
wwiv.9702 /name="[Ye Olde Alaska Tavern %N]" /alias=alaska /sig=sig
wwiv.19702 /name="[History and Moral Philosophy %N]" /alias=heinlein /sig=sig
wwiv.29702 /name="[Memos from Purgatory %N]" /alias=memos /sig=sig
wwiv.39702 /name="[907 Sysop's Sub %N]" /alias=sysop /sig=sig /post=9 /read=9
wwiv.49702 /name="[Bdexx Discussion %N]" /alias=bdinfo /sig=sig
wwiv.59702 /name="[TDM's Corner Abortion Clinic %N]" /alias=abortion /sig=sig
# end of sample
Some WWIV netsubs don't like signatures (which they call "taglines").
If you're subscribing to one of these, don't use the /sig parameter.
Now, make a file called NETSUBS in your system directory. This
keeps track of the host system for each netsub. The format of the
system/netsubs file is the netsub name, followed by a space, followed by
the subtype, followed by a space, followed by the sub host's node number.
For instance, Memos from Purgatory (a forum for demented writings) is hosted
by Someplace Else, node number 9702. Memos has a subtype of 29702, so the
line in your system/netsubs file would be:
wwiv.29702 29702 9702
A complete system/netsubs file corresponding to the above
system/wwiv file might look like:
wwiv.19714 19714 9714
wwiv.9702 9702 9702
wwiv.19702 19702 9702
wwiv.29702 29702 9702
wwiv.39702 39702 9702
wwiv.49702 49702 9702
wwiv.59702 59702 9702
Note that all the subs in this example are hosted by Someplace Else, node
9702, except subtype 19714 (Alaska Shareware Authors). 19714 is hosted
by Bilbo's Burrow, node 9714. Using wwiv.* as the newsgroup name is
not required. It can be anything. However, I suggest that you follow
the wwiv.* naming convention for any group which has an actual WWIVnet
origin, especially if you're going to pass them on to other Usenet sites.
Netsubs that you host and Usenet newsgroups that you are gatewaying into
WWIVnet should have an appropriate name. See "Hosting Your Own WWIV
Netsubs", below.
FEEDING WWIV NETSUBS TO NEIGHBORING WAFFLE SITES
This is easy. As far as Waffle knows, the WWIV netsubs are just
ordinary newsgroups. Set up your system/feeds file to feed wwiv newsgroups
just like any other newsgroup. wwiv.* will feed every wwiv group, wwiv.9702
will only feed one, etc. Your neighbor should also set up his system/feeds
file to feed the same groups back to you. Your neighbor will probably want
to put wwiv in the forums line of his static file, and make a system/wwiv
file like the one above. If he's carrying all of the same ones you do
you can just send him a copy of your system/wwiv file (of course, he'll
need to stick in the proper directory name for his system setup). The
neighbor will *not* need a system/netsubs file, just the system/wwiv
file. The neighbor will *not* need to subscribe to the netsub. To the
WWIVnet, his site looks like part of your node. If you carry it, he
can carry it without subscribing. Conversely, if he wants something you
don't carry he'll either have to convince you to start carrying it or
arrange his own WWIVnet connect. Don't forget to have the neighbor set up
his system/paths file to route email correctly (see "Sending Mail to the
WWIVnet from Neighboring Waffle Sites", above). Your neighbor doesn't
need a copy of WWCP for this to work.
HOSTING YOUR OWN WWIV NETSUBS
Again, the process is fairly straightforward. First, pick a subtype
that hasn't already been used. Traditionally, sub types are numbered
starting with your node number, and going up by 10000 for each additional
sub you host. If your node number is 549, the first sub you host gets
subtype 549, the second 10549, the third 20549, and so on. Check the
most recent subs.lst file to make sure that your subtype number hasn't
already been used. You should mail a description of your new sub to the
maintainer of subs.lst, Tony Johnson #1 @5413 (1-5413@wwiv from your
Waffle system). Now, you need to make a *.sub file in your system/
directory, where * is the subtype of the sub you wish to host (subtype
10549 would use a 10549.sub file and so on). This file should contain a
list, one per line, of all the subscribing node numbers. Do not include
your own node number. Now, add a line to your system/netsubs file. The
format is the same as shown in "Subscribing to WWIVnet Netsubs", above.
The sub name, the subtype, and the host's node number (yours, in this case),
all separated by one space. Suppose you want to start a netsub devoted to
Hostess snack cakes. You find that subtype 10549 is available, and decide to
use it. If your node number is 549, the line in your system/netsubs file
would look like:
wwiv.10549 10549 549
You can also give the sub a different name if you wish. You could call
it alt.religion.twinkies, say, and use the line:
alt.religion.twinkies 10549 549
in the netsubs file. This technique will also work for feeding normal
Usenet newsgroups into the WWIVnet. If you wanted to feed in comp.lang.c
with a subtype of 35923, you'd use the line:
comp.lang.c 35923 549
in the system/netsubs file, again assuming that your node number is 549.
Remember to alter your system/feeds file to feed the new newsgroup to
wwiv. You could feed all wwiv.* groups, alt.religion.twinkies, and
comp.lang.c by using something like:
wwiv /batch=wwiv wwiv.* alt.religion.twinkies comp.lang.c
in the system/feeds file. You'll also need to add the group to your
system/wwiv if it's a new group for you (you won't need to do this
if it's a Usenet group you're already carrying, because it's already
in the system/usenet file). That's it! Everything else is fully automatic.
Special note for moderated newsgroups:
A good smarthost will automatically mail posts to a moderated group
to the moderator instead of posting them to the net. However, some
smarthosts are smarter than others. If you are going to be gating a
moderated newsgroup, you need to use a /mod= flag in the system/netsubs
entry for that group. This should be the last thing on the line, after
the group name, the subtype, and the host (which will be you, if you're
doing the gating). Example: you're gating comp.lang.obscene, a moderated
group. The moderator is boris@kremvax. Your node number is 599. You decide
to use a subtype of 10599. The system/netsubs entry would look like:
comp.lang.obscene 10599 599 /mod=boris@kremvax
This is a NEW FEATURE in release 1.11, and has not been extensively tested.
You are STRONGLY encouraged to test this out on a small scale before
relying on it to work in all cases (that is, if you start gating a moderated
newsgroup to 500 WWIV nodes and it screws up, don't forward the flames to
me. :-). I'd suggest gating it to, at most, one WWIV node to start with
and observe the result. If you experience problems, please contact the
author.
TECHNOGEEKOID ZONE
This section of the documentation is aimed at the technically
inclined Waffle sysop (is there any other kind?). There are three
executables in the WWCP program suite, wwsmail, wwcico, and wwrmail.
wwsmail batches up the messages in WWIV format and creates the outgoing
packet. If a packet already exists, the new messages are appended to
it. Thus, there's no problem with running wwsmail multiple times before
making a connection. This packet is placed in the wwiv/packets
subdirectory of your spool directory, and is named SXXXX.NET, where
XXXX is the node number of your WWIV connect. wwsmail exits with a
status of zero if there is a data packet ready to send, non-zero
otherwise. A zero-length packet is counted as no packet. The program
also exits with status zero if there is a packet from previous invocations,
even if no new data has been added. You can use the exit status in a
batch file to carry out an operation based on whether or not a packet
is ready to send (for instance, make wwpoll not bother to call out if
there's no packet. The supplied wwpoll.bat works this way).
WWSMAIL also exits with status zero if there is a file named MAKECALL.DAT
in the spool/wwiv/packets directory, even if there is no packet to send.
This allows you to force a callout by setting up cron to create a
MAKECALL.DAT file periodically (the contents of this file are not
relevant.... only its existence or lack of same is important) or even
creating one manually. WWCICO deletes any MAKECALL.DAT when it makes a
successful connect.
For instance, you could use a batch file similar to
echo foo >\spool\wwiv\packets\makecall.dat
and have cron run it at the time you want to force the call out (say,
after 9:00 PM for low phone rates). Then you could have cron run
wwpoll every half hour. wwpoll will keep trying regardless of whether
there is data to send, until at least one connect has been made. At that
point, the MAKECALL.DAT file will be deleted and wwpoll will resume the
default behavior of not calling unless there is actually data to send.
wwcico is the uucico analogue. It handles the modem i/o and
calls the external file transfer protocol as needed. wwcico has two
command line switches. The -d switch puts wwcico in dialout mode and
calls the WWIV board. The -r switch puts wwcico in dialin mode, and is
used when the WWIV board is calling you. These options are similar
to the ones for uucico. wwcico exits with status zero if a packet
has been received from the WWIV board, 1 if there is no connect,
an error occurs, or the operator aborts, and 2 if a connect has been
made but there was no packet to send on the remote node. The incoming
packet is stored with a file name of SXXXX.NET, where XXXX is your WWIV
node number. Incoming packets *must* be processed before the next
invocation of wwcico, because the next incoming packet will have the
same name. The external protocol will either refuse to overwrite
the old packet, or will overwrite it, depending. Either situation
is bad. If the protocol refuses to overwrite, message traffic will be
delayed until the next call (or even later, if the old packet still
hasn't been processed). If the protocol overwrites, messages will be lost.
You should always call wwrmail whenever wwcico exits with a status of zero
(i.e., when an incoming packet has been received). If data has been
transferred successfully, information will be written to a log file called
WWCP in your /admin directory. This file can be viewed with SHOW WWCP in the
usual way. If you have trouble, wwcico can be made to produce debugging
information by using -dx or -rx instead of the normal -d and -r.
This information is also written to admin/wwcp.
wwrmail is the program that reads the incoming WWIV packet and
processes the messages into RFC822/1036 compliant form. After processing
each, wwrmail calls rmail or rnews depending on the message type. The
program doesn't create batched news in this release; each message is
processed individually. That will be changed in a future version, if
there is one. WWIVnet produces special control messages from time
to time. In particular, net updates are sent out twice a week. These
updates (analogous to uucp maps) aren't needed by WWCP and are
thrown away. If you see a message being dumped as "WWIVnet control
message or other unknown type" or "Compressed/encrypted message" it's most
likely a net update. Don't worry about it.
WWCP uses a special database to handle replies to user numbers.
This database is created and updated automatically, and is found in the
system/wwalpha and system/wwnum files. The wwalpha file is sorted
alphabetically, while the wwnum file is sorted numerically. You should
back up these files periodically, because strange behavior can result
if they get corrupted. For those interested, the wwalpha and wwnum
files are binary files, and the the record structure is
struct user {
char address[80];
int usernumber;
} thisuser;
Possibly the database files could be used for other purposes, with
sufficient ingenuity on your part. One limitation is that a WWIVnet
node (which you are simulating) only supports 32767 unique user numbers.
I plan on having a workaround for this before it becomes a problem.
Contact me if you start approaching the limit.